package com.molichuxing.services.infrastructure.service;


import com.molichuxing.framework.dto.Paged;
import com.molichuxing.services.business.dto.request.create.VehicleCreateBizDto;
import com.molichuxing.services.infrastructure.dto.request.modify.CarDetailModifyDto;
import com.molichuxing.services.infrastructure.dto.response.CarDetailDto;
import com.molichuxing.services.infrastructure.dto.response.CarDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 车辆表 服务类
import com.molichuxing.services.infrastructure.dto.request.modify.CarDetailModifyDto;
import com.molichuxing.services.infrastructure.dto.response.CarDetailDto;

/**
 * <p>
 * 车辆详细信息表 服务类
 * </p>
 *
 * @author 
 * @since 2019-08-15
 */
public interface CarDetailService {

  /**
   *根据车辆id查询车辆信息
   * @param carId
   * @return
   */
  CarDetailDto getCarDetailById(Integer carId);

  /**
   *新增车辆详情
   * @param createBizDto
   * @return
   */
  Integer createCarDetail(VehicleCreateBizDto createBizDto);

  /**
   * 根据车辆id修改车辆详细信息
   * @param modifyDto
   * @return
   */
  Boolean modifyCarDetail(CarDetailModifyDto modifyDto);

  /**
   * 根据车辆id查询车辆信息
   *
   * @param carIdList
   * @return
   */
  Map<Integer,CarDetailDto> getCarDetailMapByIds(List<Integer> carIdList);

  /**
   * 导出使用，获取车辆信息集合
   * @return
   */
  Map<Integer,CarDetailDto> getCarDetailMap();

  /**
   * 根据发动机号/电机号查询车辆信息
   * @param engineCode
   * @return
   */
  CarDetailDto getCarDetailByEngineCode(String engineCode);

}
